Runtime
Chemin : VueProjet> double-clic sur Propriétés de projet> volet Propriétés
Propriété | Description |
---|---|
Menu contextuel |
Définissez les modalités d'affichage du menu contextuel dans le projet IHM. retard = le menu contextuel apparaît en touchant/appuyant et maintenant pendant quelques secondes un espace vide de l'écran du runtime, ou via une action du Menu contextuel action = le menu contextuel n'apparaît que via une action du Menu contextuel. Voir "Actions widget" pour plus de détails. |
Outil de développement |
Active/désactive une série d'outils de débogage de runtime. |
Signal sonore au contact |
Activer le bipeur lorsqu’un widget est touché sur l'écran du périphérique IHM. Widgets pris en charge :
|
Durée du signal sonore | 200 ms par défaut |
Clavier |
Permet d'utiliser les macros de clavier au runtime si on utilise des claviers externes. |
Débogage JavaScript |
Active le débogueur JavaScript au runtime pour le projet actuel. |
Autoriser débogueur à distance JS |
Active le débogueur distant JavaScript pour le projet actuel. Débogage distant non pris en charge sur HMI Client. |
Activation image base de données |
Active un moteur utilisé par le runtime pour optimiser la performance du projet. AVERTISSEMENT : Cette propriété ne doit être désactivée par l'assistance technique que dans un but de débogage, car cette opération pourrait diminuer la performance au runtime. |
Rendu des polices CaractèresLibres |
Passe à CaractèresLibres, le rendu de police utilisé par JMobile Studio et le runtime. La principale raison d'utiliser le CaractèresLibres est que nous avons besoin du même moteur dans tous les périphériques pour éviter des rendus différents, en particulier si une optimisation statique est utilisée. |
Retard des icônes de communication (ms) |
Retard avant l'affichage de l'icône d'erreur de communication (par défaut 0 ms) La valeur spéciale -1 est toujours désactivée |
Démarrage rapide |
Lorsque le démarrage rapide est activé et que l'interface utilisateur est démarrée avant le serveur en arrière-plan.
|
Démarrage rapide
Lorsque le démarrage rapide est activé, le périphérique IHM affichera l'écran d'accueil aussi rapidement que possible après la mise sous tension. Dans ce mode, seules les fonctions minimales nécessaires sont chargées avant le démarrage de l'interface utilisateur. Le chargement des protocoles, des événements, des tendances, des alarmes, des actions sont différés après le chargement de l'interface utilisateur.
Il y a deux drapeaux à définir :
-
Le drapeau « Démarrage rapide » disponible à l'intérieur des propriétés avancées du projet
- Le drapeau « Démarrage rapide » disponible dans la page Services de l'outil Paramètres du système BSP (voir "Paramètres du Système")
Lorsque le démarrage rapide est activé et que l'interface utilisateur est démarrée avant le serveur en arrière-plan, l'événement Javascript project.onServerReady peut être utilisé pour synchroniser le serveur.
Exemple :
if (!project.serverIsReady) { // Set the callback to wait for server ready project.onServerReady = onServerReady; } else { // Server is ready, call it now onServerReady(); } function onServerReady() { project.setTag("Tag1", 1); project.showMessage("Server is ready, tags can be used: " + project.getTag("Tag1") ) }
Il s'agit d'une fonctionnalité avancée disponible uniquement sur les plateformes Linux
Outils du développeur
Collection de fonctions de débogage au runtime qui peuvent être activées ou désactivées.
- Dans le volet Propriétés, définissez Outils de développement sur Vrai.
- Téléchargez le projet.
- Ouvrez le menu contextuel.
- Sélectionnez Outils de développement.
Liste des outils du développeur
Outil | Description |
---|---|
Afficher/Masquer tout |
Affiche une boîte de dialogue contenant des informations sur l'état du périphérique, telles que la charge de l'UC, l'utilisation de la mémoire et les queues d'événements. |
Statistiques CPU |
Affiche des informations sur le chargement du CPU. Voir "Statistiques CPU". |
Statistiques mémoire |
Affiche les informations sur la RAM du système. Une valeur négative indique que la mémoire libre diminue. |
Queues d'événements |
Affiche les informations sur les queues d'événements (taille, taille maximale atteinte, nombre d'événements traités, dernier temps de traitement et temps de traitement maximal). Les statistiques sur le minutage sont disponibles uniquement pour les queues non IU. |
Résumé journal en temps réel |
Affiche le temps de chargement de la page. |
Intégrer la fenêtre |
Permet d'intégrer la scène en cours de runtime ou de laisser la fenêtre d'outil de développement comme une fenêtre autonome (dialogue). |
Réinitialiser les statistiques de queue |
Réinitialise les informations statistiques sur les queues d'événements. |
Désactiver le chien de garde |
Désactive la fonction de chien de garde et évite que le système ne redémarre en cas de gel ou d'incident des services. |
Ignorer les exceptions |
Désactive la fonction de rapport d'incident, les exceptions ne sont pas sauvegardées dans la fenêtre de rapport d'incident. |
Profilage |
Mesure le temps passé pour charger/afficher la page active. Voir "Profilage" |
Watchdog (Surveillance)
Cette fonction vous permet de désactiver l'horloge de surveillance. Ainsi, vous pouvez éviter que le système ne redémarre en cas d'incident en cours de runtime. Vous aurez donc le temps de sauvegarder le rapport d'incident ou de vérifier les informations sur l'état du système (par exemple, la mémoire disponible, la charge de l'UC, la taille des queues d'événements, etc.).
La boîte de dialogue de rapport d'incident s'affiche automatiquement lorsque le système gèle ou bloque, permettant aux utilisateurs de sauvegarder un fichier journal d'incident.
Important : Sauvegardez ce fichier pour le support technique.
L'heure actuelle de la machine s'affiche sur la ligne supérieure, ainsi que le temps de service total du périphérique.
Les statistiques de l'UC sont collectées toutes les 2000 millisecondes. La période réelle et le traitement requis pour collecter et visualiser les statistiques sont également affichés. Au plus la période réelle s'éloigne de 2000 millisecondes, au plus la charge du système est importante. La consommation en fils de l'UC est listée en rapportant le nom du thread (s'il est disponible, le fil principal est marqué avec un *), l'ID du fil, la priorité du thread et le temps de l'UC passé durant la période de 2000 millisecondes, divisé en temps d'utilisateur et temps du noyau.
Le profilage permet de vérifier le temps passé pour charger/afficher la page active. Le profilage démarre à partir du chargement de la page suivante et est actif pour le premier traçage de la page sur l'écran (la configuration est conservée).
Option de profilage | Description |
---|---|
Activer journal en temps réel | Activer la capture du journal en temps réel. Le minutage est affiché dans la fenêtre « Résumé du journal en temps réel ». |
Sauvegarder journal en temps réel sous forme de fichier |
Sauvegarde un rapport de détails du profil et le temps passé à charger un projet et ses pages dans un fichier timelog.txt. Ce fichier peut être exporté et partagé pour une analyse approfondie. Important : L’exécution de cette fonction peut réduire la performance de modification de la page. |
Temps de chargement superposition Temps de rendu superposition |
Cette vue permet d'afficher le temps passé sur les widgets individuellement et il est disponible uniquement pour les étapes de rendu et de chargement. Cette vue donne un aperçu immédiat d'où le temps est passé. Les zones en rouge représentent les zones critiques qui prennent le plus de temps. Les temps détaillés par widget sont visualisés par une fenêtre en infobulle . Dans le cas de widgets hors champ, certaines flèches permettent de naviguer vers ces zones et en les survolant, l'infobulle affichera le résumé de la zone. |
Choisir la couleur de superposition |
Choisissez la couleur de superposition à utiliser |
Données du journal en temps réel
Données | Description |
---|---|
Temps d'analyse | Temps passé pour analyser la page en cours. Dépend de la complexité de la page et du nombre de widgets. |
Temps de création gfx | Temps passé pour afficher une image. Dépend principalement de la méthode OnLoad. |
Temps d'affichage | Temps passé pour afficher la page. |
Temps de déchargement | Temps passé à décharger la page, lorsque la page actuelle dépend d'une autre page. |
Les temps sont fournis par deux : durée totale d'exécution/temps de l'UC. La durée totale d'exécution est le temps absolu requis par cette partie, qui peut être plus importante que le temps réel de l'UC requis car les fils de priorité plus haute sont aussi en cours d'exécution (pour les protocoles d'instance). La colonne d'heure de début se réfère à l'heure de début de chargement de la page. Elle peut être utilisée pour suivre le temps réel requis pour charger une page, car les temps partiels se réfèrent uniquement aux fonctions au temps le plus critique et n'incluent pas d'autres temps qui contribuent souvent au temps total de manière significative.
Par exemple, la durée totale d'exécution réelle requise pour charger une page est l'heure de début de l'affichage (qui est la dernière étape) + la durée totale d'exécution de l'affichage.
Rendu des polices CaractèresLibres
De nouveaux projets utilisent le moteur de polices CaractèresLibres par défaut. Les projets créés avec les anciennes versions de JMobile Studio pourrait utiliser un moteur de police plus ancien également après la conversion du projet pour éviter tout problème de compatibilité ascendante.
Basculez vers CaractèresLibres chaque fois que vous en avez la possibilité afin d'avoir un meilleur rendu de page.
Une fois que vous avez basculé vers le nouveau rendu de police, sauvegardez le projet et vérifiez que tous les textes s'affichent correctement dans toutes les pages de projet.
Problèmes de rendu de police
Si vous basculez un projet créé avec l'ancien moteur de police vers le moteur de police CaractèresLibres, il est possible que vous rencontriez les problèmes suivants :
- le texte demande plus/moins de pixels pour le rendu, entraînant une modification de la mise en page du texte
- les widgets sont redimensionnés pour contenir du texte
- un meilleur rendu peut être obtenu en utilisant l'Anticrénelage (l’Anticrénelage est une propriété de widget texte)